Application streaming provides the ability for an endpoint (e.g., a client computer) to run an application locally that is stored remotely, for example on a server. The server transmits specific portions of the application (e.g., code pages) to the endpoint, as the endpoint needs them. Application streaming offers a number of advantages over running the application on the server. Streaming the application allows the application to execute locally on the endpoint, instead of remotely on the server. This eliminates the need for large farms of servers to provide applications to a plurality of client computers. Application response time to the user is also significantly faster when the application is run locally on the endpoint, as opposed to remotely on the server. Commercial application streaming technology exists today.
Software developers, quality assurance professionals and publishers have a strong interest in knowing how their software programs are actually used in the field. Data on which features of a software program are popular, which are never utilized, which confuse users, which cause the application to crash, etc., are clearly an asset in the design, implementation, testing, trouble shooting and marketing of existing and planned software programs. It is currently difficult to obtain reliable information of this nature for a wide variety of representative users.
It would be desirable to be able to glean accurate profiling data concerning application usage for a wide variety of users.